package cGUI;

import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.SQLException;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;

import cAplicationLayer.ControlerGeneral;

import biblioteca.Mensaje;

//import biblioteca.BDReserva;

public class Notificarusuario extends JFrame implements ActionListener, WindowListener
{

	JPanel panelSuperior= new JPanel();
	JPanel panelCentral1 = new JPanel();
	JPanel panelComentario = new JPanel();
	JPanel panelInferior = new JPanel();
	
	JPanel JCentral= new JPanel();
	JPanel JComent= new JPanel();
	JPanel J1=new JPanel();
	JPanel J2= new JPanel();
	JPanel J3= new JPanel();
	JPanel J4= new JPanel();
	JPanel J5= new JPanel();
	JPanel J6= new JPanel();
	
	JLabel JPara= new JLabel();
	JLabel JDe= new JLabel();
	JLabel JAsunto= new JLabel();
	JLabel JComentarios= new JLabel();
	JLabel JArchivos=new JLabel();
	JLabel JTitulo= new JLabel();
	JLabel JNotificar=new JLabel();

	static CheckboxGroup TipoMensaje= new CheckboxGroup();
	CheckboxGroup Todos= new CheckboxGroup();
	
	static Checkbox avisogen= new Checkbox("Aviso",TipoMensaje,false);
	static Checkbox avisosug= new Checkbox("Sugerencia",TipoMensaje,false);
	static Checkbox avisootros= new Checkbox("Otros",TipoMensaje,false);
		
	private static JTextField para = new JTextField(25);
	private static JTextField de = new JTextField(25);
	private static TextArea comentarios= new TextArea();
	private JScrollPane consoleScroll;
	private JPanel panelscroll;
	private JPanel panelnoticias;
	
	JButton Enviar= new JButton();
	JButton Borrar= new JButton();
	JButton Salir = new JButton();
	
	Color fondo=new Color(238,238,238);
	Font fuente=new Font("Arial Black", Font.BOLD , 15);
	
	JFrame ventana;
	
	private static ControlerGeneral cG;
	
   public Notificarusuario(JFrame jf)
   {
	   cG = ControlerGeneral.getInstance();
       ventana = jf;
       ventana.setEnabled(false);
       
       panelnoticias=new JPanel();
       consoleScroll= new JScrollPane();
       panelscroll= new JPanel();
       panelscroll.setLayout(new BorderLayout());
       
       consoleScroll.setBorder(new TitledBorder("COMENTARIOS"));
       consoleScroll.setPreferredSize(new Dimension(380, 200));
       comentarios.setBackground(Color.white);
       comentarios.setEditable(true);
       comentarios.setPreferredSize(null);
       consoleScroll.setViewportView(comentarios);
       panelscroll.add(consoleScroll);
       
       panelnoticias.add(panelscroll, BorderLayout.CENTER);
       
	   	ImageIcon titulo= new ImageIcon("src/botones/Titulo.jpg");
		JTitulo.setIcon(titulo);
		JTitulo.setBackground(fondo);
		JTitulo.setOpaque(true);
		
		JPara.setHorizontalAlignment(SwingConstants.LEFT);
		JPara.setText("PARA: ");
		JPara.setForeground(Color.black);
		
		JDe.setHorizontalAlignment(SwingConstants.LEFT);
		JDe.setText("DE: ");
		JDe.setForeground(Color.black);
		
		JAsunto.setHorizontalAlignment(SwingConstants.LEFT);
		JAsunto.setText("   ASUNTO: ");
		JAsunto.setForeground(Color.black);
		
		JComentarios.setHorizontalAlignment(SwingConstants.LEFT);
		JComentarios.setText("    COMENTARIOS: ");
		JComentarios.setForeground(Color.black);
		
		JNotificar.setText("  ::  NOTIFICAR");
		JNotificar.setFont(fuente);
		
		Enviar.setText("Enviar");
		Borrar.setText("Borrar");
		Salir.setText("Salir");
		para.setText("");
		
		J1.add(JPara);
		J1.add(para);
		J2.add(JAsunto);
		J2.add(avisosug);
		J2.add(avisogen);
		J2.add(avisootros);
		J3.add(JComentarios);
		J5.add(JDe);
		J5.add(de);
		
		panelSuperior.setLayout(new BorderLayout());
		panelCentral1.setLayout(new GridLayout(4,1));
		panelInferior.setLayout(new BorderLayout());
		panelSuperior.add(JTitulo,"North");
		panelSuperior.add(JNotificar);
		
		panelCentral1.add(J5);
		panelCentral1.add(J1);
		panelCentral1.add(J2);
		panelCentral1.add(J3);
//		panelCentral1.add(J4);
		
//		J6.setLayout(new FlowLayout());
		J6.add(Enviar);
		J6.add(Borrar);
		J6.add(Salir);
		panelInferior.add(J6,"South");
		
		this.getContentPane().setLayout(new GridLayout(4,1));	
	   	this.getContentPane().add(panelSuperior);
		this.getContentPane().add(panelCentral1);
		this.getContentPane().add(panelscroll);
		this.getContentPane().add(panelInferior);
		
		
		this.setSize(420,650);
		this.setTitle("BIBLIOTECA DE DEUSTO");
		this.setResizable(false); 
		this.setVisible(true);
		
		para.setEditable(true);
		
		Borrar.addActionListener(this);
  		Enviar.addActionListener(this);
  		Salir.addActionListener(this);
  		this.addWindowListener(this);
  		
   }
	
   public void actionPerformed(ActionEvent e)
	{
		JButton BotonPulsado = (JButton) e.getSource();
		if (BotonPulsado == Enviar)
		{
			enviarmensaje();
						 	
		}
		
		if (BotonPulsado == Borrar)
		{
			comentarios.setText("");
     		
		}
		if(BotonPulsado == Salir)
		{
			ventana.setEnabled(true);
			this.dispose();
		}
					
	}
	
		
	public static void enviarmensaje()
	{
	    String asunto="ERROR AL LEER EL ASUNTO";
	    Checkbox asuntox=TipoMensaje.getSelectedCheckbox();
	    
	    if(asuntox==avisogen)
	    {
	    	asunto="Aviso general";
	    }
	    
	    if(asuntox==avisosug)
	    {
	    	asunto="Sugerencia";
	    }
	    
	    if(asuntox==avisootros)
	    {
	    	asunto="Otros";
	    }
	    
	    Mensaje m = new Mensaje();
	    m.setAsunto(asunto);
	    m.setText(comentarios.getText()+"");
	    m.setDestinatario(para.getText()+"");
	    m.setEmisor(VentanaConexion.usuario.getText());
	    cG.enviarMensaje(m);
	    

	}

	public void windowActivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void windowClosed(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void windowClosing(WindowEvent arg0) {
		ventana.setEnabled(true);
		this.dispose();	
	}

	public void windowDeactivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void windowDeiconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void windowIconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void windowOpened(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
	
	

}
